﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using haptic.src.engine.design;

namespace haptic.src.engine.animation
{
    [Serializable]
    public class Transition : IInstanciable<TransitionInstance>
    {
        #region Constructors
        /// <summary>
        /// Only for XML serialization
        /// </summary>
        public Transition(){}
        public TransitionInstance CreateInstance()
        {
            return new TransitionInstance();
        }
        #endregion

        #region Attributes
        public string m_sFrom;
        public string m_sTo;
        public float m_fDuration = 0.0f;
        #endregion
    }

    public class TransitionInstance
    {
        #region Attributes
        public float m_fCurrentTimeStep = 0.0f;
        private State m_oFrom = null;
        public State oFrom { get { return m_oFrom; } }
        private State m_oTo = null;
        public State oTo { get { return m_oTo; } }
        #endregion
    }
}
